// 1.导入Sequelize模块
const Sequelize = require("sequelize");

// 2.使用Sequelize模块配置和数据库的连接信息
// new Sequelize(数据库名，用户名，密码，(配置信息))
const DB = new Sequelize("express", "root", "root", {
  host: "localhost", // 数据库服务器的IP地址或域名
  port: "3306", // 数据库使用的端口号，MySQL数据库默认端口号3306
  dialect: "mysql", // 数据库的类型
  pool: {
    // 数据库连接池：可以放若干个数据库的连接对象，提高数据库访问效率
    max: 20, // 数据库连接池中连接对象的最大个数
    min: 3, // 数据库连接池中连接对象的最少个数
    idle: 20000, // 等待延迟的时间，单位：毫秒
  },
  define: {
    charset: "utf8", // 处理MySQL中中文字符的问题
  },
});

// 校验连接成功与否
DB.authenticate()
  .then(() => {
    console.log("Connection has been established successfully.");
  })
  .catch((err) => {
    console.error("Unable to connect to the database:", err);
  });

// 3.导出数据库的连接对象
module.exports = DB;
